* clean_enh_general.do
* This file applies some labels to the ENH datasets and cleans some of the variables.
* Cleans only the "general" files - Registro tipo 10
* Inputs: All files in C:/Users/JorgeEduardo/Dropbox/AA_Minimum_Wage/Data/Importable/ENH
* Outputs: All files in C:/Users/JorgeEduardo/Dropbox/AA_Minimum_Wage/Data/Clean/ENH

*************************** Change log ********************************** 

/*
	02/08/2015 JEP	Stop deleting additional categories of parentesco in 2001-4, these are now labeled.
					Make hijo casado an hijo soltero just 1 category, and generate a dummy for hijo casado
*/	



clear all
version 13.1

* Project info
project, doinfo   
local master "`r(pdir)'"
local doname "`r(dofile)'" 



* Directory
cd "../../Data/Importable/ENH"

* Project calls
project, original("../../../Code/Clean/labels_enh_general.do")

* Registro tipo 10 - Caracteristicas generales

/* * Obtener una lista de variables comunes en todas las bases de datos
forvalues year=1996(1)2000 {
	forvalues trim=1(1)4 {
		use "`year'/TRIM `trim'/`year'_`trim'_general.dta" , clear
		unab vars: *
		if `year'==1996 & `trim'==1 local cv="`vars'"
		else local cv : list cv & vars
	}
}
di "`cv'" */

* tipo_registro id municipio segmento estrato sector seccion manzana vivienda hogar personas_hogar resultado_encuesta orden parentesco sexo edad estado_civil asiste_escuela ultimo_grado_estudios lee_escribe area fex

quietly {
	forvalues year=1996(1)2000{
		forvalues trim=1(1)4 {
			project, uses("`year'/TRIM `trim'/`year'_`trim'_general.dta")
			use "`year'/TRIM `trim'/`year'_`trim'_general.dta" , clear
			do "../../../Code/Clean/labels_enh_general.do"
			drop if id==""
			drop if orden==.
			*** Base specific problems
			* Blanks in identifier in 1997
			if `year'==1997  replace id=subinstr(id," ","0",.)
			* Problema con un id en 1999 -4
			if `year'==1999 & `trim'==4 replace id="7300103630040010800201101" if id=="730010363004 010800201101"
			* Hay un hogar que tiene 43! personas en 1997-1. No sé si preparan la comida todos juntos. Mejor lo elimino
			drop if personas_hogar==43 
			* Tiempo_residencia_tvida is dummy
			cap confirm variable tiempo_residencia_tvida
			if !_rc replace tiempo_residencia_tvida=0 if tiempo_residencia_tvida==.
			

			
			**
			* Work on common variables
			la val tipo_registro tipo
			**
			replace parentesco =. if parentesco==8
			
			gen hijo_casado= (parentesco==4)
			replace parentesco = 3 if parentesco==4
			
			la val parentesco parentesco
			cap destring sexo, replace
			la val sexo sexo
			**
			gen cedad=recode(edad,17,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,99)	
			
			* Recode ultimo. Remember replace is more time efficient than recode
			replace ultimo=. if ultimo==999
			gen nivel = .
			replace nivel=1 if ultimo==100
			replace nivel=2 if inlist(ultimo,200,201)
			replace nivel=3 if inrange(ultimo,300,305)
			replace nivel=4 if inrange(ultimo,400,413)
			replace nivel=5 if inrange(ultimo,500,515)
			replace nivel=. if ultimo==999
			la val nivel grado
			* Generar años de educacion basado en ultimo
			gen educ = .
			replace educ = 0 if inrange(ultimo,100,300)
			forv j=1(1)5 {
				replace educ = `j' if ultimo==30`j'
			}
			replace educ = 5 if ultimo==400
			* 12 para permitir año 12. Los de 13 son normalistas que no asisten, solo van hasta 12
			forv j=6(1)12 {
				replace educ = `j' if ultimo ==`=400+`j''
			}
			replace educ= 12 if ultimo==413
			replace educ = 11 if ultimo==500
			sum ultimo
			loc max=r(max)-500
			forv j=1(1)`max' {
				replace educ = 11+`j' if ultimo==`=500+`j''
			}
			**
			la val lee_escribe sino
			la val estado_civil estado_civil
			la val asiste_escuela sino
			*
			*Codificación de área está diferente dentro de los años, ¡Qué sufrimiento!
			replace area=76 if area==761
			replace area=11 if area==111
			if `year'==1996 | `year'==1997 & `trim'<=2 {
				gen area961_972=area
				project, original("../../xwalks/area.dta") preserve
				merge n:1 area961_972 using "../../xwalks/area.dta", update replace keep(1 3 4 5)
				drop if _merge==2
				drop _merge nombre
			}			
			la val area area
			noi des, s
			noi codebook, detail problems all
			* noi codebook, problems all
			compress 
			save "../../Clean/ENH/`year'/TRIM `trim'/`year'_`trim'_general.dta", replace
			project, creates("../../Clean/ENH/`year'/TRIM `trim'/`year'_`trim'_general.dta")
		}
	}
}
  